credit card authentication credit cards hyperj cards internet security visa java intentional programming design patterns encryption aspect-oriented programming credit aop card ajax oriented aspect security advertising